// package main

// import (
// 	"fmt"
// 	"time"

// 	"gorm.io/driver/mysql"
// 	"gorm.io/gorm"
// 	"gorm.io/gorm/schema"
// )

// type Company struct {
// 	ID   int
// 	Name string
// }
// type User struct {
// 	gorm.Model
// 	Name      string
// 	CompanyID int
// 	Company   Company
// }

// // 是否存在表
// func ExistTable(mdb *gorm.DB) {
// 	if mdb.Migrator().HasTable(&User{}) {
// 		mdb.Migrator().DropTable(&User{})
// 	} else {
// 		mdb.AutoMigrate(&User{})
// 	}
// }

// // 批量添加
// func BatchCreate(mdb *gorm.DB) {
// 	users := []User{{Name: "jinzhu1"}, {Name: "jinzhu2"}, {Name: "jinzhu3"}}
// 	mdb.Create(&users)
// }

// func main() {
// 	db, err := Conn()
// 	if err != nil {
// 		panic(err)
// 	}
// 	//是否存在表
// 	// ExistTable(db)
// 	//批量添加
// 	// BatchCreate(MDB)
// 	// res := db.Model(&User{}).Create(&User{
// 	// 	Name: "小明",
// 	// 	Company: Company{
// 	// 		Name: "木星个",
// 	// 	},
// 	// })
// 	// println(res.RowsAffected)
// 	// db.Model(&Company{}).Delete(&Company{}, 1)

// 	// db.Model(&User{}).Create(&User{
// 	// 	Name:      "111",
// 	// 	CompanyID: 1,
// 	// })
// 	var user []User
// 	db.Model(&User{}).Preload("Company").Find(&user)
// 	fmt.Printf("&v", user)
// }

// func Conn() (*gorm.DB, error) {
// 	dsn := "root:root@tcp(127.0.0.1:3306)/ant_study?charset=utf8mb4&parseTime=True&loc=Local"
// 	db, err := gorm.Open(mysql.New(mysql.Config{
// 		DSN: dsn,
// 	}), &gorm.Config{
// 		NamingStrategy: schema.NamingStrategy{
// 			TablePrefix: "fa_",
// 			// SingularTable: false,
// 		},
// 	})
// 	if err != nil {
// 		return nil, err
// 	}

// 	sqlDb, err := db.DB()
// 	if err != nil {
// 		return nil, err
// 	}
// 	//设置空闲连接池中的最大连接数
// 	sqlDb.SetMaxIdleConns(10)
// 	//设置数据库的最大打开连接数
// 	sqlDb.SetMaxOpenConns(100)
// 	//设置连接可以重复使用的最长时间。
// 	sqlDb.SetConnMaxLifetime(time.Hour)
// 	return db, nil
// }
